WooCommerce PayPal Payments

Description

WooCommerce PayPal Payments is an all-in-one solution to help you maximize conversions by offering PayPal, Venmo (US), Pay Later options, credit and debit cards, and more.

Features

  • Instant access to funds while payment is processing.
  • Fraud detection and global compliance (including PCI, PSD2, and 3D Secure).
  • Faster checkout via PayPal buttons on product pages and in-cart.
  • Convenience to pay over time with PayPal Pay Later.
  • Allow Venmo shoppers (US only) to share purchases with friends.
  • Standard and Advanced Card Processing options.
  • Country-specific payment methods to build global trust.
  • Multiple subscription payment options to help drive repeat business.

Get started

If you’re new to PayPal, add it to your store today. Existing user? Upgrade your integration now to access these exciting new features.

It pays to PayPal

Get instant access to funds in your PayPal business account while payment is processing. Save time and money with fraud detection and Seller Protection features†.

Plus, you’ll meet global compliance standards (such as PCI, PSD2, SCA, and 3D Secure), bringing international markets within reach.

†Available on eligible purchases. Limits apply.

Flexible payment options

Shoppers are nearly three times more likely to buy when you offer PayPal.¹ Increase conversions by automatically displaying PayPal buttons on product pages, in-cart, and at checkout.

PayPal Pay Later options help boost conversion rates and increase cart sizes by 39%.² Let customers pay over time while you get paid upfront — at no additional cost. Available in select countries. Learn more about Pay Later messaging.

Venmo users spend 2.2 times more annually on online purchases than other online buyers.³ Now you can reach Venmo shoppers (US only) and allow them to share their purchases with friends.

Country-specific payments

  • Standard Card Processing: Suitable for all business and personal seller accounts. Card transactions are managed via a prebuilt user experience, simplifying compliance.
  • Advanced Card Processing: Customize the look, feel, and placement of debit and credit card payment fields. You can also use fraud protection tools to set up personal risk tolerance filters.

Earn recurring revenue through subscriptions

Drive repeat business for stable, predictable income using WooCommerce Subscriptions or PayPal Subscriptions.

You can also use PayPal’s Vaulting feature to:

  • Offer flexible plans with fixed or quantity-based pricing.
  • Set billing cycles for any period.
  • Offer discounted trial periods or prorated payments.

With no monthly or setup fees, it’s simple for your customers — and great for your business (account approval required).

Legal Disclosures:

*For Australian users, the PayPal service is provided by PayPal Australia Pty Limited AFSL 304962. Any information provided is general only and does not take into account your objectives, financial situation, or needs. Please read and consider the CFSGPDS (paypal.com.au) before acquiring or using the service. See website for TMD.

  1. An online study commissioned by PayPal and conducted by Netfluential in November 2020, involving 1,000 US online shoppers ages 18-39.
  2. PayPal Q2 Earnings 2021.
  3. Edison Trends commissioned by PayPal, April 2020 to March 2021. Edison Trends conducted a behavioral panel of email receipts from 306,939 US consumers and 3.4+ M purchases at a vertical level between Pay with Venmo and non-Venmo users during a 12-month period.

Screenshots

Blocks

This plugin provides 3 blocks.

  • PayPal Pay Later messaging PayPal Pay Later messaging will be displayed for eligible customers. Customers automatically see the most relevant Pay Later offering.
  • Cart – PayPal Pay Later messaging PayPal Pay Later messaging will be displayed for eligible customers. Customers automatically see the most relevant Pay Later offering.
  • Checkout – PayPal Pay Later messaging PayPal Pay Later messaging will be displayed for eligible customers. Customers automatically see the most relevant Pay Later offering.

Installation

Requirements

To install and configure WooCommerce PayPal Payments, you will need:

  • WordPress Version 6.3 or newer (installed)
  • WooCommerce Version 9.6 or newer (installed and activated)
  • PHP Version 7.4 or newer
  • PayPal business or personal account

Installation instructions

  1. Log in to WordPress admin.
  2. Go to Plugins > Add New.
  3. Search for the WooCommerce PayPal Payments plugin.
  4. Click on Install Now and wait until the plugin is installed successfully.
  5. You can activate the plugin immediately by clicking on Activate now on the success page. If you want to activate it later, you can do so via Plugins > Installed Plugins.

Setup and Configuration

Follow the steps below to connect the plugin to your PayPal account:

  1. After you have activated the WooCommerce PayPal Payments plugin, go to WooCommerce > Settings.
  2. Click the Payments tab.
  3. The Payment methods list may include two PayPal options. Click on PayPal (not PayPal Standard).
  4. Click on the Activate PayPal button.
  5. Sign in to your PayPal account. If you do not have a PayPal account yet, sign up for a new PayPal business or personal account.
  6. After you have successfully connected your PayPal account, click on the Standard Payments tab and check the Enable Paypal features for your store checkbox to enable PayPal.
  7. Click Save changes.

Complete onboarding instructions can be found in the documentation here.

Updating

Automatic updates should work generally smoothly, but we still recommend you back up your site.

If you encounter issues with the PayPal buttons not appearing after an update, purge your website cache. Caching or JavaScript minification can impact PayPal Payments and should be disabled for the PayPal scripts or payment-related pages.

FAQ

Where can I find documentation and a setup guide?

You’ve come to the right place. Our documentation for WooCommerce PayPal Payments includes detailed setup instructions, troubleshooting tips, and more.

Where can I get support, report bugs, or request new features?

To start, review our troubleshooting tips for answers to common questions. Then, if you need further assistance, get in touch via the official support forum.

Please report bugs via GitHub or the official support forum. You can request (or vote for) new features on our feature request board.

WooCommerce PayPal Payments has stopped working — what should I do?

First, diagnose the issue using our troubleshooting guide. If you notice an error after updating an extension or theme, there could be a compatibility issue.

We recommend running a conflict test using Health Check (which allows you to disable themes and extensions without affecting your live store) or testing via a staging site.

Does this extension support subscriptions?

Yes! WooCommerce PayPal Payments can be used with WooCommerce Subscriptions and PayPal Subscriptions. You can also use Vaulting to save customers’ payment methods for future transactions. Review our subscriptions FAQ.

Does this extension support WooCommerce Blocks?

Yes! WooCommerce PayPal Payments offers experimental support for Cart and Checkout Blocks. Review our Blocks FAQ.

Are there any new features in development?

Yes! Review our feature previews FAQ for more details.

Can I contribute to WooCommerce PayPal Payments?

Yes, you can! Join our GitHub repository.

If you like this extension, please leave a review on WordPress.org or WooCommerce.com — your valuable feedback is appreciated.

My question is not listed; where can I find more answers?

Review our general or contact support.

Reviews

September 12, 2026
This plugin is deeply unstable and possesses too many bugs for live e-commerce environments. Specifically, the integration completely fails to process mobile credit card transactions, resulting in a broken checkout flow that cost my business actual customers.The level of frustration caused by these persistent technical flaws is unacceptable for a payment gateway. I am absolutely not looking for support or troubleshooting assistance, as the software is simply not reliable enough for production.I have completely abandoned this plugin and switched to an alternative PayPal integration, which is currently working perfectly. Merchants looking for a reliable mobile credit card checkout experience should look elsewhere.
September 7, 2026 1 reply
I had issues with the plugin but they all got resolved by the amazing support team (Krystian in particular). They really took time to test it on my website to make sure everything is working as it should. I'm confident with using the plugin and I know if I have problems in the future, they will be resolved.
August 20, 2026 2 replies
I initially had a positive experience with the WooCommerce PayPal Payments plugin and its support, which is why I previously left a positive review. Unfortunately, my experience changed significantly following a series of payment and checkout problems that began in late 2025. Around October 2025, my business revenue began falling dramatically. At first, I could not establish whether this was simply a business or marketing issue, or whether there was a problem with the payment system. I contacted Syde, the developers and support team behind the plugin, and was advised to update to the latest version of the plugin. I did so. Business improved somewhat, but revenue remained substantially below the levels I would normally expect. January is historically one of the strongest months of the year for my business. Instead, January was disastrous. This prompted me to look much more closely at the WooCommerce and payment logs. What I found was alarming. For a period of time, almost every credit-card payment attempt appeared to be failing. I raised this with support and was largely told that the problem was occurring on the customer's bank or card-issuer side, with explanations such as declined transactions or suspected fraud. However, after approximately two months, the number of failed card payments dropped dramatically without any clear change that explained why. This made me question whether the explanation that the banks were primarily responsible had ever fully explained what I was seeing. Business nevertheless remained weak, which led me to investigate the PayPal payment flow more closely. One particularly confusing issue occurred when I opened the Basket page on my mobile phone and noticed messaging within the PayPal payment flow suggesting that the customer might need to pay significantly more than the displayed course price because of possible shipping and tax adjustments. My courses are digital products and I do not charge shipping. I asked Syde to explain this. Initially, I was told that the figure was related to PayPal Pay Later messaging. However, this explanation did not appear to match what I was actually seeing or how the payment flow was behaving. After further discussion, the issue appeared to be connected to the configuration of the payment and shipping flow rather than simply being a Pay Later calculation. I was eventually able to improve this part of the customer journey by enabling Pay Now Experience. However, changing settings in order to solve one problem appeared to introduce further questions and trade-offs. In my case, for example, the Basket Smart Button flow allows customers to complete payment without going through the same account-registration process as the standard Checkout flow. I repeatedly asked Syde to review my complete WooCommerce and PayPal configuration to make sure there were no conflicting or inappropriate settings. I was told that testing and checks had been carried out, but the subsequent discoveries made me question whether the full payment flow had actually been investigated thoroughly from the beginning. The plugin has a large number of settings and interactions involving WooCommerce checkout, PayPal buttons, shipping, digital products, account creation, Pay Now Experience, 3D Secure and other payment options. I do not expect every merchant to be an expert in these technical details. That is precisely why effective technical support is important. To be fair, Syde generally responded to my emails within their stated response timeframe. The problem, in my experience, was not simply the speed of replies. The problem was that, for many months, the replies did not produce a clear diagnosis or solution. I often felt that I was being required to carry out the investigation myself: checking logs, testing different settings, changing configurations, monitoring transactions and repeatedly reporting the results. The situation only appeared to change significantly after I made it clear that I was considering changing to another PayPal plugin and revising my previous positive review. At that point, Syde finally carried out more extensive testing and acknowledged that there was a genuine problem with the mobile checkout flow. They were able to reproduce a checkout validation issue on Android devices. However, my own subsequent testing showed that the issue was not confined to Android. I spent approximately four hours systematically testing the staging site using Safari and Chrome in private/incognito mode, on both desktop and iPhone. The results were inconsistent and concerning. On desktop, the PayPal and card payment flows generally completed successfully and displayed the expected Order Received confirmation. On mobile, however, I reproduced several problems: • Safari on iOS: PayPal payment through the Checkout page returned to the Checkout form and asked the customer to complete the details again, creating a payment loop instead of reaching the Order Received page. • Chrome on iOS: a PayPal payment through the Checkout page could be successfully completed, but the customer was then returned to the Checkout form rather than being shown the Order Received confirmation. • Chrome on iOS: a PayPal payment from the Basket could be successfully processed, but the customer was returned to the Basket page without an Order Received confirmation or notification. • Card payments through the Checkout page worked correctly on mobile during my testing. These findings are particularly concerning because, in some scenarios, the payment itself was successful but the customer was not shown a clear confirmation page. From the customer's perspective, it could appear that the payment had failed, potentially encouraging them to try again. There were also differences in the availability of guest card payment through PayPal between desktop and mobile testing. On desktop, I was able to see an option allowing payment without creating a PayPal account. On mobile, that option was not consistently available. I appreciate that software bugs can occur and that reproducing a problem across different devices and configurations can sometimes be difficult. My criticism is not that a bug exists. My criticism is the amount of time it took before the existence of a genuine problem was acknowledged and properly investigated. I began raising concerns many months ago after seeing a dramatic and sustained decline in revenue and unusual payment behaviour. I repeatedly provided logs, descriptions, URLs, settings and test results. For a long time, the explanations focused on external factors such as customers' banks or card issuers. Only after extensive persistence, repeated testing and the possibility that I might move to a competing plugin did the investigation appear to become sufficiently thorough. I have also since read other user reviews and found reports from users describing payment, checkout and support problems that appear similar in nature to some of the difficulties I have experienced. That further reduced my confidence that my experience was simply an isolated problem. My business has almost certainly lost sales during this period. I cannot quantify precisely how many, or attribute every lost sale solely to this plugin, but when a business experiences a major revenue decline at the same time as significant payment failures and inconsistent checkout behaviour, it is impossible to ignore the possibility that the payment system has contributed to the problem. At the time of writing, Syde's team has acknowledged at least one genuine mobile checkout issue and says that the matter is under investigation. I hope they find and fix the underlying cause. I would prefer to continue using the plugin and to update this review positively if the problems are properly resolved. However, after spending months trying to understand these issues—and many additional hours personally testing payment flows—I need a reliable payment system that works consistently across desktop and mobile devices. If a clear and reliable solution is not provided, I will have little choice but to move to an alternative PayPal integration and update this review to reflect my full experience. My advice to other merchants is to test every payment flow yourself, particularly: desktop and mobile; PayPal and card payments; Basket Smart Buttons and Checkout buttons; guest checkout; successful payment redirects and Order Received confirmations. Do not assume that a successful payment alone means that the customer's checkout experience has completed correctly.
August 20, 2026 1 reply
I've dealt with my fair share of challenges with changing payment processors, from Stripe to PayPal, so the broader journey with my website and member's area hasn't been smooth. However, I have been very happy with the quality of support I've received from the WooCommerce PayPal Payments team (Syde Support Team) and specifically Krystian! I've emailed with a variety of questions, many also asking for understanding and education on how to do things, and I've received timely and very thorough responses. You know how you can tell if a support team is trying to close the ticket as soon as possible just to get it off their plate? That has not been my experience with Krystian. I've felt that my questions have been received with care and he has even expressed curiosity about the bigger picture, leaving the door open for follow-up conversation. So thank you very much, Krystian!
August 19, 2026 1 reply
I've had what seemed like a complex Integration problem that bots couldn't help with and Paypal washed their hands of. Woo help sorted it out in a few emails and helped me with a few other unrelated questions as well. Renewed my faith in help centres.
August 12, 2026 1 reply
Excellent support. I reported an unexpected change in failed-order handling that was breaking our existing WooCommerce recovery workflow. Support quickly identified the cause, explained the new behavior, and provided a simple filter that restored the previous functionality. The fix worked immediately, and our failed-order recovery process is back to normal. Very helpful and responsive support.
Read all 578 reviews

Contributors & Developers

“WooCommerce PayPal Payments” is open source software. The following people have contributed to this plugin.

Contributors

“WooCommerce PayPal Payments” has been translated into 14 locales. Thank you to the translators for their contributions.

Translate “WooCommerce PayPal Payments” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

4.1.3 – 2026-09-09

  • Enhancement – PayPal JS SDK v6 is now the default for new store setups, moving PayPal buttons, Apple Pay, Google Pay, Advanced Card Fields, Fastlane, Pay Later messaging and vaulting subscriptions onto the new integration; existing stores remain on SDK v5 with this version #4641
  • Enhancement – Add filter hooks to customize the payment method title and allow payment method icons #4586
  • Enhancement – Clearer, customer-friendly decline messages for 3D Secure rejections #4573
  • Enhancement – First-party WooCommerce plugin detection for product customizations #4552
  • Enhancement – Allow Pay Later to remain available when vaulting is enabled #4611
  • Enhancement – Improve manual-renewal-only subscription scenarios #4621
  • Enhancement – Exclude connection details from Blueprint exports by default #4647
  • Fix – Apple Pay shown under the PayPal gateway when a vaulting subscription is in the cart #4546
  • Fix – Prevent Vault API calls made with an empty customer ID #4567
  • Fix – Keep recoverable PAYER_ACTION_REQUIRED orders from failing prematurely #4569
  • Fix – Retain the shopper’s checkout data when returning from PayPal on mobile #4649
  • Fix – PayPal gateway missing on Block Checkout when WooCommerce Subscriptions automatic renewals are enabled #4659
  • Fix – Webhook registration hitting the wrong API host right after onboarding #4669
  • Fix – Give the Pay upon Invoice phone field its own ID #4666
  • Fix – Stop polling the merchant-integrations endpoint on every cron run #4640
  • Fix – Skip WooCommerce Inbox note registration during AJAX requests #4607
  • Fix – Remove the orphaned reCAPTCHA Inbox note and align its enabled checks #4634
  • Fix – Prevent Advanced Card Fields submission when Blocks checkout fields are invalid (author @marcofucito) #4435
  • Fix – Show the product button on variable products with no preselected attributes #4691
  • Fix – Fix negative tax_total when a discount is not reported by WooCommerce #4690

4.1.2 – 2026-08-04

  • Enhancement – Advanced onboarding options for onboarding wizard #4496
  • Enhancement – Improved buyer-facing card decline reason display #4509
  • Enhancement – Add filter to allow Pay Later button and messaging when Vaulting is enabled #4508
  • Enhancement – Handle PayPal API address data returned as an array instead of an object #4516
  • Enhancement – Remove/Rework Cart Simulation #4473
  • Enhancement – Remove Pay with Crypto promotional pricing messaging #4540
  • Enhancement – Add filters to allow limiting of ingested/valid products #4547
  • Enhancement – Validators need extraction from CheckoutEndpoint #4370
  • Fix – invoice_id missing for existing customers paying with saved PayPal payment tokens #4541
  • Fix – Fractional WooCommerce quantities truncated to 0, causing invalid PayPal line items and checkout failures #4530
  • Fix – fraudnet.js: Uncaught ReferenceError PAYPAL is not defined on classic checkout when hosted_fields_loaded fires before fb.js loads #4520
  • Fix – Saved PayPal token in subscription change-payment flow moves active subscription to pending #4536
  • Fix – PHP warning in PayPal order tracking when WooCommerce Shipment Tracking sync reads non-array tracking metadata #4505
  • Fix – OXXO description is missing by default #4479
  • Fix – CHECKOUT.ORDER.APPROVED webhook fails with uncaught PayPalOrderMissingException causing HTTP 500 loop, pending orders and Apple Pay never captured #4534
  • Fix – Block Checkout “Sign up now” button label not replaced with “Proceed to PayPal” #4440
  • Fix – ppcp-local-alternative-payment-methods-css-gateway.css loads on every frontend page #4465
  • Fix – ACDC edit order page shows Processor Response 0000:Approved on edit order page #4478
  • Fix – Advanced Card Processing orders fail with “Order does not contain an id” error #4482
  • Fix – Mexico Enable Installments not visible on Overview tab in Features section #4461
  • Fix – Pay Later messaging tab merchant_identifier error showing until page reload when connecting manually #4459
  • Fix – Duplicated WooCommerce orders #4387
  • Fix – Google Pay / Apple Pay (Safari) button visible on PayPal gateway when Classic checkout removed from smart button location #4491
  • Fix – Manual renewal subscription from frontend block express checkout renders empty Apple Pay and Google Pay div #4497
  • Fix – Store Sync toggle missing when feature flag is active #4535
  • Fix – Inconsistent PayPal button behavior for subscriptions on cart #4542
  • Fix – Scope reCAPTCHA assets and markup to active PayPal payment locations #4548

4.1.1 – 2026-07-07

  • Fix – Fix Pay upon Invoice gateway enqueued outside of checkout context with Block Mini Cart #4483
  • Fix – Too many requests to merchant-integrations API endpoint #4490

4.1.0 – 2026-06-23

  • Enhancement – New Vault Management Component for buyers with saved PayPal accounts to update funding instrument #4421
  • Enhancement – Pay upon Invoice support for Block Checkout #4405
  • Enhancement – OXXO support for Block Checkout #4381
  • Enhancement – Show PayPal account or last card digits in payment method on order confirmation page & emails #4427
  • Enhancement – Disable legacy “PayPal Standard” gateway when merchant account is connected to PayPal Payments #4463
  • Fix – Third-party plugin gift cards not calculated on PayPal payment modal #4422
  • Fix – Fix PayPal amount mismatch from inclusive-tax rounding #4425
  • Fix – Negative fee calculation may result in a mismatch PayPal between the WooCommerce order total and the total amount paid via PayPal #4409
  • Fix – Unsuccessful payment for vaulting subscription with ACDC from Block Checkout #4437
  • Fix – Unsuccessful payment for vaulting subscriptions with 100% discount coupons (CANNOT_BE_ZERO_OR_NEGATIVE) #4452
  • Fix – Unsuccessful payment for free trial vaulting subscription with acdc and PayPal #4439
  • Fix – Vaulted ACDC saved-card checkout stuck in “payment pending” #4431
  • Fix – PartnersEndpoint::seller_status() floods PayPal merchant-integrations endpoint with 403s #4430
  • Fix – Avoid spamming OAuth requests when auth fails #4414
  • Fix – Google Pay not rendered on variable product page #4433
  • Fix – Simplify manual client ID validation to accommodate new Client ID format #4397
  • Fix – Mismatch line item not delivered to PayPal overview transaction page #4426
  • Fix – APM transaction links open paypal.com instead of sandbox.paypal.com in Sandbox mode #4418
  • Fix – Coerce stored values in typed-bool getters and vault_enabled migration #4393
  • Fix – Fix type casting for customer unique ID in session MD5 hash #4333
  • Fix – Apple Pay fails on single product page when no shipping option is available #4375
  • Fix – Settings notifications do not display on the PayPal Payments settings pages #4034
  • Fix – Add missing “Show logos of supported cards” setting in the ACDC options #4380
  • Fix – Phone number verification may fail #4448
  • Fix – Saved payment methods display in continuation mode #4457
  • Fix – Card payments with saved cards may fail in certain cases #4450

4.0.4 – 2026-05-19

  • Enhancement – WooCommerce Blueprints integration to import & export the PayPal Payments configuration #4363
  • Enhancement – PayPal redirect gateway now appears on Block checkout for Subscription-type products #4338
  • Enhancement – updated render hooks for Apple Pay & Google Pay buttons on Classic Checkout to be consistent with PayPal #4350
  • Enhancement – Improved error message for reCAPTCHA v2 challenge failures #4342
  • Enhancement – Added ACDC card decline responses to WooCommerce order notes & checkout #4314
  • Fix – Intermittent “Please choose product options…” error when adding variable product to the cart #4315
  • Fix – Placeholder for Pay Later messaging in Block checkout editor when messaging failed to load #4302
  • Fix – Error “Debit & Credit Cards is not available for this order” on Block checkout when buying PayPal Subscription #4351
  • Fix – Unsuccessful payment for PayPal Subscriptions from Block cart & checkout #4343
  • Fix – Branded-only mode persisted after uninstalling the plugin #4337
  • Fix – Wrong payment method displayed on order edit page in some cases #4349
  • Fix – Incorrect asset path for PayPalInsightsLoader.js caused console error #4293
  • Fix – Auto-capture on status change did not work for non-express payments #4352
  • Fix – Things to do next showed “Register Domain for Apple Pay” action item in branded-only mode #4296

4.0.3 – 2026-04-27

  • Enhancement – consolidate disabled funding sources card decision #4216
  • Enhancement – Hide Apple Pay Register Domain TODO when domain is already validated #4263
  • Enhancement – Remove vault v2 code #4254
  • Fix – Cart simulation causes checkout instability and cannot be disabled #4277
  • Fix – Fix bool (false) in transients #4281
  • Fix – Return HTTP 400 on nonce validation failures instead of 500 #4280
  • Fix – AddressFactory::from_wc_order billing address #4279
  • Fix – Duplicate WooCommerce orders created when buyer switches payment method at checkout #4276
  • Fix – BCDC – Mexico – BCDC not visible on block checkout #4289
  • Fix – Guest Cart appears empty when product is added from product page #4288
  • Fix – APMS – Order with apms stay in pending status (iDeal, …) #4294
  • Fix – Failing ACDC payment for Free Trial subscription on classic checkout #4299
  • Fix – Drop shipping when city is missing to prevent CITY_REQUIRED #4292

4.0.2 – 2026-04-02

  • Fix – API rate limiting #4244

4.0.1 – 2026-03-31

  • Enhancement – Removed legacy UI #4031
  • Enhancement – Added migration banner guiding BCDC merchants through upgrade to Advanced Card Processing #4192
  • Enhancement – Apple Pay and Google Pay can now be enabled independently, without requiring Advanced Card Processing (ACDC) to be active #4186
  • Enhancement – Fastlane is now available in all ACDC-supported countries #4149
  • Enhancement – Added Fastlane to reCAPTCHA-protected payment methods for improved fraud protection #4161
  • Enhancement – Pay with Crypto is now enabled by default for eligible merchants #4171
  • Enhancement – Added Pay Upon Invoice support to the new settings UI #4117, #4144
  • Enhancement – Vaulting via Orders API now supported for redirect gateway in Block Checkout #4131
  • Enhancement – Billing agreements can now be imported and converted to Vault tokens #4134
  • Fix – PUI and OXXO settings were not preserved after upgrading from 2.9.6 to 4.0.0 #4194
  • Fix – Merchant onboarding state was lost when upgrading from a previous version #4150
  • Fix – BCDC was not enabled after migration for merchants who had it active but were not ACDC-eligible #4160
  • Fix – BCDC button was not active after migration when BCDC was part of the PayPal gateway #4155, #4180
  • Fix – Pay Later messaging tab was missing after migration when BCDC was part of the PayPal gateway #4159
  • Fix – Capture virtual orders on status change setting was not preserved during migration #4157
  • Fix – Cardholder name was always shown on the frontend after legacy migration #4167
  • Fix – L2/L3 data was incorrectly sent when Stay Updated was disabled during migration #4168
  • Fix – APM settings were not correctly migrated when APMs were part of the PayPal gateway #4182
  • Fix – BCDC override flag was not functioning correctly #4177
  • Fix – Capture on status change was not working as expected in the new UI #4169
  • Fix – ACDC setting was not preserved after saving and reloading the settings page #4108
  • Fix – ACDC was not enabled by default after onboarding for eligible countries #4128
  • Fix – Standard card button gateway was incorrectly visible on the WooCommerce Payments tab and classic checkout #4118
  • Fix – Google Pay and Apple Pay were visible on classic checkout for non-eligible countries #4137
  • Fix – Save payment method checkbox was incorrectly shown for ACDC in unsupported countries #4176
  • Fix – Pay with Crypto gateway was visible on checkout for ineligible merchants #4175
  • Fix – Pay with Crypto cancel and return URL query parameters were not parsed correctly #4183
  • Fix – Various Pay with Crypto fixes including icon update and miscellaneous issues #4187, #4172
  • Fix – Fastlane watermark was not hidden when the “Display Fastlane Watermark” setting was disabled #4140
  • Fix – Fastlane “Learn More” link was missing for GB and AU locales #4112
  • Fix – PayPal buttons were not visible on the block cart page #4125
  • Fix – Incorrect button style was shown on the Pay for Order page #4184, #4141
  • Fix – Failed orders could not be paid via PayPal #4154
  • Fix – Deposits remainder payments were not completed for pending-deposit orders #4100
  • Fix – Infinite loop when changing payment method for a subscription #4085
  • Fix – Fatal error on plugin upgrade due to ArgumentCountError in AuthenticationRestEndpoint #4090
  • Fix – Fatal error on simulate cart calls #3769
  • Fix – AVS code mismatch causing payment failures #4132
  • Fix – BCDC-only merchants incorrectly had ACDC, Apple Pay, and Google Pay disabled #4088
  • Fix – Removed Order Status requirement for PayPal payment processing #4185
  • Fix – Refactored GermanizedShipmentIntegration to support Shiptastic #4061, #4193
  • Fix – Do not increment step directly #4086

3.4.1 – 2026-03-05

  • Fix – Performance issue in /v2/vault/payment-tokens/id #4098
  • Fix – China Merchants ACDC and Vaulting Missing #4139

3.4.0 – 2026-02-10

  • New – Level 2 and Level 3 card processing support for Advanced Credit and Debit Cards #3970, #3999
  • Enhancement – PayPal Working Capital promotional messaging now available for eligible merchants #4048
  • Enhancement – Improved reCAPTCHA logging to help troubleshoot blocked requests #3835
  • Enhancement – Added direct link to plugin logs in settings for easier debugging #3743
  • Enhancement – Restored woocommerce_gateway_description filter for gateway customization #3742
  • Enhancement – Updated Pay Later messaging descriptions and settings #4012
  • Enhancement – Improved onboarding step 4 title for ACDC regions #3998
  • Enhancement – Add pattern validation and improve error messages for client credentials #4073
  • Enhancement – Improve authentication error handling #4073
  • Enhancement – Ensure webhook verification on production #4074
  • Fix – Google Pay now correctly updates WooCommerce shipping address #3798
  • Fix – Google Pay no longer shows shipping selection for virtual products #3797
  • Fix – Google Pay shipping method now visible on product pages with empty cart #4030
  • Fix – Google Pay edge-case that prevented it from working on all pages when Pay Now is disabled #3860
  • Fix – Google Pay and Apple Pay buttons no longer disappear when changing the address in block checkout #3851
  • Fix – Apple Pay now shows applied coupons correctly in payment popup #3838
  • Fix – PayPal button in Mini Cart now works correctly on product pages #3745
  • Fix – Fastlane email lookup now works when email is pre-populated from session #3637
  • Fix – Fastlane no longer shown in settings for ineligible merchants #3872
  • Fix – Duplicate PayPal captures and double stock reductions should no longer occur #3885
  • Fix – Missing PayPal order ID meta data now saved for vaulted card transactions #4035
  • Fix – “Instant payments only” toggle now uses correct setting value #3767
  • Fix – Settings Overview tab now loads correctly for BCDC-only countries #3775
  • Fix – Alternative Payment Methods now show correctly based on merchant eligibility #3864
  • Fix – Payment method descriptions now display in block checkout for all gateways #3891
  • Fix – Payment gateway icon sizing in Classic Checkout #3894
  • Fix – “Disable Specific Credit Cards” option now hidden for BCDC countries #3653
  • Fix – PHP warning when adding variable products via PayPal button #3849
  • Fix – PHP 8.4 implicit nullable parameter deprecation warning #3996 (author @mondalaci)
  • Fix – Translation loading timing issue with currency checks #3978 (author @mondalaci)
  • Fix – Potential error when cart is accessed before initialization #3973
  • Fix – Improved error handling for token validation failures #3986

3.3.2 – 2026-01-12

  • Enhancement – Improved reCAPTCHA configuration to help protect your store and maintain compliance #3980, #3984
  • Fix – Advanced Card Processing may temporarily become unavailable after updating the plugin #3983

3.3.1 – 2025-12-09

  • Enhancement – reCAPTCHA Integration UX Improvements #3907
  • Enhancement – Disable simulate-event endpoint for webhook verification #3908

3.3.0 – 2025-11-04

  • Enhancement – Pay Later messaging & button auto-enabled for eligible Canadian merchants on 12th November, based on the STAY UPDATED preference. #3819
  • Enhancement – Customizable reCAPTCHA implementation for PayPal endpoints #3829
  • Fix – Fatal error in Visual Composer front-end editor due to strict $hook_suffix type #3815
  • Fix – Pay Later Messaging settings tab not visible in some cases when updating to a previous plugin version #3812

3.2.1 – 2025-10-20

  • Enhancement – Make plugin upgrade hooks safer #3789
  • Enhancement – Webhook transient lock #3790

3.2.0 – 2025-10-15

  • Enhancement – Enable AppSwitch and SSSC feature flags by default #3724
  • Enhancement – Remove temporary Pay Later messaging auto-enablement logic #3680
  • Enhancement – Align Fastlane currency support with ACDC matrix #3697
  • Enhancement – Add hooks at the start of Create/Approve Order requests #3717
  • Enhancement – Don’t filter tokens on changing payment method of a subscription (author @gedex) #3617
  • Enhancement – Reorganize ACDC and Fastlane gateway settings modals #3652
  • Enhancement – Update PayPal Package Tracking Carriers List #3630
  • Enhancement – Display help center section #3587
  • Enhancement – Update Fastlane card placeholder design #3625
  • Enhancement – Add Fastlane session restoration post payment failure #3598
  • Fix – Check for messages visibility setting before rendering #3686
  • Fix – Fatal error where a callback expects \WC_Payment_Gateway but got RequestHandler (author @gedex) #3660
  • Fix – Continuation with PayPal subscriptions #3656
  • Fix – Add fallback for getting subscription order address in classic contexts #3657
  • Fix – Fastlane – UK and Australia – Add Fastlane to onboarding screen and four step #3635
  • Fix – Check variation stock for all variable products #3605
  • Fix – Google Pay button enabled state on variable product pages #3602
  • Fix – Pay by link with PayPal error on front end when no shipping address #3627
  • Fix – Sync checkout fields and headers in Fastlane flow #3628
  • Fix – Classic checkout – Guest user – Trial vaulting subscription validation does not work #3663
  • Fix – Prevent redirect on checkout failure for trial vaulting subscriptions #3644
  • Fix – Contacts race condition in block #3518
  • Fix – Add shipping-related filters to avoid MISSING_%field_name% errors #3586
  • Fix – Continuation mode in Elementor checkout #3612

3.1.2 – 2025-09-30

  • Change – Make migration available again #3710
  • Fix – Override flag to keep BCDC for ACDC merchants during migration #3712
  • Fix – Prevent rare fatal error when shipping address is missing #3655
  • In branded-only mode, every merchant has BCDC #3713

3.1.1 – 2025-09-27

  • Fix – Fix BCDC in branded-only mode #3699
  • Fix – Restore BCDC button for ACDC merchants in legacy UI #3703
  • Change – Remove all migration UX/notifications #3705

3.1.0 – 2025-09-02

  • Enhancement – Fastlane now available for British & Australian merchants #3589
  • Enhancement – Pay Later messaging now auto-enabled for eligible merchants based on the STAY UPDATED preference. Review the Pay Later settings to customize or disable. #3600
  • Enhancement – Add buttons to copy merchant credentials in the Settings tab #3561
  • Enhancement – Skip “Payment Methods” step for branded-only + BCDC and casual sellers #3547
  • Enhancement – Add “Things to do next” item after settings migration #3536
  • Enhancement – Phase 2: Settings Migration – Add Woo Inbox item #3599
  • Enhancement – Create an API function for adding tracking info #3588
  • Enhancement – Add polling mechanism for renderer wrapper to prevent race condition for Pay Later messaging #3577
  • Enhancement – Status report entry for “New UI active” and “Branded only” #3539
  • Fix – Apple Pay does not update shipping method or address changes on Classic Checkout #3524
  • Fix – Prevent early is_enabled() check for Google Pay button in new UI #3566
  • Fix – Subscriptions migrated from PPEC plugin to PayPal Payments fails on renewal #3549
  • Fix – Google Pay transaction from block pages #3542
  • Fix – Remove redundant authorize call in subscription renewal handler #3543
  • Fix – Empty description handling and logo display for PayPal gateway not working as expected #3527
  • Fix – When Apple Pay is enabled, empty space for Apple Pay button is showing on all pages if buyer is not eligible #3550
  • Fix – Undefined properties error in checkout block #3551
  • Fix – Make the state address data optional to fix non US-CA compatibility for Fastlane #3535
  • Fix – Disable the card button if BCDC is disabled #3532
  • Fix – Remove data-sdk-client-token field when not needed #3540
  • Fix – “No PayPal order ID found in order meta” logged after using “Proceed to PayPal” on block checkout #3189
  • Fix – Use is_acdc_enabled() to prevent ACDC interference with BCDC in non-ACDC countries #3594
  • Fix – Remove the specified gateway when the button is disabled #3556

3.0.9 – 2025-07-31

  • Fix – Payment via “Proceed to PayPal” may result in a redirect loop #3570

3.0.8 – 2025-07-28

  • Enhancement – Migration from Legacy Settings to New Settings as opt-in via banner & button #3491
  • Enhancement – Replace call to billing-agreements/agreement-tokens with checking the capabilities for Reference Transactions #3495
  • Enhancement – Add Fastlane 3D Secure support #3493
  • Enhancement – Improved PHP 8.4 compatibility #3534
  • Fix – INVALID_REQUEST error due to wrong landing_page value after upgrade to 3.0.7 #3521
  • Fix – Incorrect Amount via Express Payment for WooCommerce Product Bundles #3516
  • Fix – Onboarding failed via “Connect to PayPal” in new UI due to race condition #3385
  • Fix – Fatal error when PayPal Payments is active without WooCommerce #3502
  • Fix – PayPal Subscription transaction failed in various scenarios #3515
  • Fix – Rounding differences potentially lead to order failure (author @luzat) #3373
  • Fix – Google Pay payment on block checkout may fail when ACDC is default payment selection #3506
  • Fix – Product Prices Disappear in some cases when WooCommerce Subscriptions is active #3519

3.0.7 – 2025-07-01

  • Enhancement – Remove application_context in favor of experience_context object #3431
    NOTE: If you were modifying the application_context object programmatically, you may need to update your code to utilize experience_context for your customizations.
  • Enhancement – Add Contact Module feature
  • Enhancement – Add WooCommerce Tracks integration
  • Enhancement – Onboarding notification for Firefox browser #3433
  • Enhancement – Reset BN code on plugin uninstall #3471
  • Enhancement – Add “Stay updated with PayPal” option in the old and new settings UI #3430
  • Enhancement – Add French Territories to the supported ACDC countries list #3438
  • Enhancement – Auto-enable logging during onboarding #3369
  • Fix – DUPLICATE_INVOICE_ID in Sandbox due to missing invoice prefix #3435
  • Fix – Subscription product could not be unlinked from PayPal Subscription #3429
  • Fix – PayPal button greyed out on single product page for variable products with >2 attributes #3395
  • Fix – APMs automatically enabled despite selecting “No, …” during onboarding #3362
  • Fix – Ditch items logic does not work when using saved card payment #3476
  • Fix – billing-agreements endpoint called too frequently when not enabled for Reference Transactions #3459

3.0.6 – 2025-05-27

  • Enhancement – Implement 3D secure check for Google Pay #3163
  • Enhancement – Add options for “Disable Credit Cards” and “Language” #3226
  • Enhancement – Improve the loading experience for the new UI #3269
  • Enhancement – Enhance the accessibility of the new Settings UI #3294
  • Enhancement – Add capture pre-conditions for card payment source #3300
  • Enhancement – Enable all/Disable all toggle next to Alternative Payment methods on Payment Methods tab #3321
  • Enhancement – Add installment notifications for Mexico store locations #3404, #3405
  • Fix – Various issues for Mexico store locations during onboarding & plugin configuration #3403
  • Fix – APFS plugin triggers incorrect renewal date for simple products as subscriptions #3272
  • Fix – PayPal Smart Button incompatible with WooCommerce Subscription Switching #3291
  • Fix – Fastlane gateway visible on Pay for Order page #3293
  • Fix – Pay Later Messaging configurator preview alignment #3305
  • Fix – Product editing screen for variable products unresponsive (PayPal Subscriptions API error) #3311
  • Fix – Update selector for hiding express checkout #3318
  • Fix – ‘Ignoring unknown key’ console warnings when modifying payment gateway state #3322
  • Fix – Ratepay Payment Option Not Available for Unassembled Product Bundles #3325
  • Fix – “Disable Specific credit cards” shows “Select” as a possible value #3342
  • Fix – Stripe not visible at checkout when PayPal Subscriptions API is enabled #3343
  • Fix – Ensure correct ACDC behavior for non-ACDC countries (e.g., Vietnam) #3351
  • Fix – ACDC payments for Subscriptions failing at checkout for new users #3355
  • Fix – BCDC not enabled by default when cards selected during onboarding #3366
  • Fix – Block checkout – Address form missing after payment on Product and Cart pages #3371
  • Fix – Payments with Debit & Credit Cards failing #3376
  • Fix – PayPalGateway::process_payment on completed order leads to order failure #3374
  • Fix – New settings UI background color impacted by WooCommerce 9.9+ #3407
  • Fix – Can not save payments if subscriptions is not selected when onboarding #3408

3.0.5 – 2025-04-23

  • Fix – Onboarding screen blank when WooPayments plugin is active #3312

3.0.3 – 2025-04-08

  • Fix – BN code was set before the installation path was initialized #3309
  • Fix – Things to do next referenced Apple Pay while in branded-only mode #3308
  • Fix – Disabled payment methods were not hidden in reactified WooCommerce Payments settings tab #3290

3.0.2 – 2025-04-03

  • Enhancement – Check the branded-only flag when settings-UI is loaded the first time #3278
  • Enhancement – Implement a Cache-Flush API #3276
  • Enhancement – Disable the mini-cart location by default #3284
  • Enhancement – Remove branded-only flag when uninstalling PayPal Payments #3295
  • Fix – Welcome screen lists “all major credit/debit cards, Apple Pay, Google Pay,” in branded-only mode #3281
  • Fix – Correct heading in onboarding step 4 in branded-only mode #3282
  • Fix – Hide the payment methods screen for personal user in branded-only mode #3286
  • Fix – Enabling Save PayPal does not disable Pay Later messaging #3288
  • Fix – Settings UI: Fix Feature button links #3285
  • Fix – Create mapping for the 3d_secure_contingency setting #3262
  • Fix – Enable Fastlane Watermark by default in new settings UI #3296
  • Fix – Payment method screen is referencing credit cards, digital wallets in branded-only mode #3297

3.0.1 – 2025-03-26

  • Enhancement – Include Fastlane meta on homepage #3151
  • Enhancement – Include Branded-only plugin configuration for certain installation paths
  • Enhancement – Include UI status in system report #3248
  • Enhancement – Minor enhancements in new UI scrolling & highlighting behavior #3240
  • Fix – “Warning: Class ‘WooCommerce\PayPalCommerce\Vendor\Stringable’ not found” after 3.0.0 update #3235
  • Fix – ACDC does not work on the Classic Checkout when using the new UI #3219
  • Fix – “Send only” country banner not displayed in the new UI #3236
  • Fix – Typo in welcome screen #3258
  • Fix – onboarding.js file from old UI enqueued in new UI #3263
  • Fix – Onboarding in new UI with personal account does not hide all ineligible features #3254
  • Fix – ACDC not defaulting on for eligible merchants after onboarding with Expanded Checkout selection #3250
  • Fix – “Failed to fetch onboarding URL” error when onboarding with Subscriptions selected from non-Vault region #3242
  • Fix – Fastlane SDK token requested when Fastlane is disabled #3009
  • Fix – Subscription renewal payment via ACDC may fail in some cases due to 3D Secure #3098
  • Fix – Error: _load_textdomain_just_in_time Called Incorrectly when running docker compose #3172
  • Fix – Shipping callback not loading for guest users in some scenarios #3169
  • Fix – Phone number not saved in WC order when using Pay Now experience #3160
  • Fix – Phone number not pre-populated on Checkout block in continuation mode #3160
  • Fix – “Unfortunately, your credit card details are not valid” shown with actually valid card during checkout with invalid postcode. #3067
  • Fix – Incorrect Subscription Cancellation Handling with PayPal Subscriptions #3046
  • Tweak – Added PayPal as contributor #3259

3.0.0 – 2025-03-17

  • Enhancement – Redesigned settings UI for new users #2908
  • Enhancement – Enable Fastlane by default on new store setups when eligible #3199
  • Enhancement – Enable support for advanced card payments and features for Hong Kong & Singapore #3089
  • Fix – Dependency conflict with more recent psr/log versions on PHP8+ #2993
  • Fix – PayPal Checkout Gateway subscription migration layer not renewing subscriptions #2699
  • Fix – Fatal error when gateway settings initialized too early by third-party plugin #2766
  • Fix – Next Payment date for Subscriptions not updating when processing a PayPal Subscriptions renewal order #2959
  • Fix – Changing the subscription payment method to ACDC triggers error #2891
  • Fix – Standard Card button not appearing in standalone gateway for free trial subscription products #2935
  • Fix – Validation error when using Trustly payment method #3031
  • Fix – Error in continuation mode due to wrong gateway selection on Checkout block #2996
  • Fix – Error in error in PayLaterConfigurator #2989
  • Tweak – Removed currency requirement for Vault v3 #2919
  • Tweak – Update plugin author from WooCommerce to PayPal

2.9.6 – 2025-01-06

  • Fix – NOT_ENABLED_TO_VAULT_PAYMENT_SOURCE on PayPal transactions when using ACDC Vaulting without PayPal Vault approval #2955
  • Fix – Express buttons for Free Trial Subscription products on Block Cart/Checkout trigger CANNOT_BE_ZERO_OR_NEGATIVE error #2872
  • Fix – String translations not applied to Card Fields on Block Checkout #2934